home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / pmbs1251_demo.lha / prometheus / developer / Server+Portstrukturen.dok < prev   
Text File  |  1995-09-19  |  15KB  |  558 lines

  1. Revision 3
  2.  
  3.  
  4.            Dokumentation zur Port-Portstruktur von Prometheus
  5.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6.  
  7. FCPort Port 'rexx_PMBSx'
  8. (x ist eine Zahl von 0-19)
  9. b=Byte
  10. w=Word
  11. l=Long
  12. c()=Char(0-terminiert) in Klammern steht die max. LΣnge
  13.  
  14. Adresse bekommt man per FindPort() (Offset -390 der exec.library)
  15.  
  16. Offset
  17.  
  18. 236    l    Screenadresse des Ports (0 wenn Iconify)
  19. 240    w    ─nderungsmitteilung an den Server (1=─nderung/0=nichts)
  20. 244    c(71)    String (0 terminiert) der auf dem Serverbildschirm bei
  21.                 dem Port angezeigt wird (also Username z.b)
  22. 350    l    Flags (Bit 0 - Hide User an / nicht an)
  23.                       (Bit 1 - User wartet auf Multichat)
  24. ab 400 Daten des eingeloggten Users (Name aus 244 ermitteln)
  25.  
  26. 400    l    erster Login
  27. 404    l    letzter Login
  28. 408    l    letzte Pa▀wortΣnderung
  29. 412    l    Anrufe
  30. 416    l    Flags des Users (siehe Userdatendokumentation)
  31. 420    l    Downloadfreiraum
  32. 424    l    binΣre Uploads
  33. 428    l    binΣre Downloads
  34. 432    l    Ascii Uploads
  35. 436    l    Ascii Downloads
  36. 440    l    Konto
  37. 444    l    Baudrate
  38. 448    l    Boxanrufzahl beim letzten Login des Users
  39. 452    w    Zeitlimit
  40. 454    w    wieviel Zeit steht im fⁿr diesen Login zur Verfⁿgung
  41. 456    w    Top UploadCPS
  42. 458    w    Top DownloadCPS
  43. 460    b    Emulation (0 Keine/1 Ansi Farbe/2 Ansi Mono/3 Rip)
  44. 461    b    Zeilenanzahl
  45. 462    b    Tarifzone
  46. 463    b    UpDoRate
  47. 464    b    Modus (0 Geonet / 1 Menue / 2 Cursor)
  48. 465    b    Packer
  49. 466    b    Protokoll
  50. 467    b    Sprache
  51. 468    l    Bezugsdatum
  52. 482    l    Transfernote (wenn <>0, steht hier die Adresse der
  53.                 Transfernote der MEtaxpr.library... nΣhere ErlΣuterungen
  54.                 in der Anleitung der Metaxpr.library
  55. 486    w    Anzahl der Downloads wΣhrend des aktuellen Logins
  56. 488    w    Anzahl der Uploads wΣhrend des aktuellen Logins
  57.  
  58. 500    b    intern
  59. 502    b    Port fⁿr Arexx bereit (1 nicht bereit/0 bereit)
  60.  
  61.  
  62.  
  63.  
  64.            Dokumentation zur Server Portstruktur von Prometheus
  65.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  66.  
  67.                         Was fehlt noch in der Dok?
  68.                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69.  
  70. - Onlineflags
  71. - Protokollflags
  72. - Brettflags
  73. - Befelsflags
  74. - Gruppenflags
  75.  
  76.                         ErklΣrung des Datumformats
  77.                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78.  
  79. Dieses Datumformat wird benutzt bei
  80.  
  81. *Userdaten
  82. - Letzter Login
  83. - Bezugsdatum
  84. - letzte Pa▀wortΣnderung
  85.  
  86. *Brettliste
  87. - letzter Eintrag
  88.  
  89. Wie bekomme ich:
  90. (L bedeutet Langwort.. bin zu faul)
  91. (AND ist die logische UND Operation)
  92.  
  93. - Stunden : das L 12 Bits nach rechts schieben und dann AND mit 31 machen
  94. - Minuten : das L 6  Bits nach rechts schieben und dann AND mit 63 machen
  95. - Sekunden: einfach AND 63 mit dem L
  96.  
  97. - Tage    : das L 17 Bits nach rechts schieben und dann AND mit 31 machen
  98. - Monate  : das L 22 Bits nach rechts schieben und dann AND mit 15 machen
  99. - Jahre   : das L 26 Bits nach rechts schieben und dann 1980 addieren
  100.  
  101.  
  102.                             Benutzte Feldtypen
  103.                            ~~~~~~~~~~~~~~~~~~~~
  104.  
  105. Wenn von LIST-Strukturen geredet wird, sind die ORIGINAL Amiga
  106. LISTSTRUKTUREN mit LISTHEADERN gemeint (im Header steht noch kein
  107. Namenfeld!).
  108.  
  109. Dann gibt es noch ein eigenes Listen-Format... ich nenne es jetzt nur
  110. DIM-FELD.
  111.  
  112. Man hole sich die Adresse eines DIM-FELDES. Dann holt man sich die Adresse
  113. die an dem Langwort steht. Nun hat man den Zeiger auf das eigentliche Feld.
  114.  
  115. Beispiel in Assembler fⁿr den Brettnamen (in A6 ist die Serveradresse)
  116.  
  117. move.l 174(a6),a4
  118. move.l (a4),a4
  119.  
  120. Jetzt steht an: (als Offset zum erhaltenen Langwort)
  121.  
  122. 0    l    Gr÷sse des Feldes (wΣre hier gleich (max Bretter))
  123. ab 4 kommt jetzt das Feld (Typen c=char/l=Long/W=Word/B=Byte)
  124.  
  125. Beipiel Bytefeld:
  126. 4    1.Byte
  127. 5    2.Byte
  128. 6    3.Byte
  129. ...
  130.  
  131. Beispiel Wordfeld:
  132. 4    1.Word
  133. 6    2.Word
  134. 8    3.Word
  135. ...
  136.  
  137. Beispiel Longfeld:
  138. 4    1.Long
  139. 8    2.Long
  140. 12    3.Long
  141. ...
  142.  
  143. Ein Charfeld ist ein Longfeld das Adressen zu C-Strings (0-terminiert)
  144. beinhaltet.
  145. Beispiel (Brettname)
  146.  
  147. 4    1.Long = $ef302434
  148.  
  149. an $ef302434 liegt jetzt ein C-String (aus GFA-BASIC einfach
  150. auslesen mit CHAR{} oder aus BLITZ-BASIC mit PEEK$())
  151.  
  152.                  Wie bekomme ich Prometheus zum Speichern?
  153.                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  154.  
  155. Hierzu benutzen wir das Aktionslangwort (+396), indem wir bestimmte Bits
  156. setzen.
  157.  
  158. Bit 0 Bretter speichern
  159. Bit 1 Userliste
  160. Bit 2 Boxen
  161. Bit 3 Gruppen
  162. Bit 4 Anrufe+Auslastung
  163. Bit 5 Preferences
  164.  
  165. Der Server speichert dann von selbst, sobald er bereit ist
  166.  
  167.                         Multiport Inhaltsverwaltung
  168.                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  169.  
  170.  
  171. Diese Informationen sind eigentlich sehr gefΣhrlich, da sie sehr
  172. schwierig zu realisieren sind. Bitte auf JEDEN FALL Rⁿcksprache mit mir
  173. nehmen, wenn man etwas mit der Multiport-Fileverwaltung macht, damit es
  174. hinterher keine Probleme gibt (02104 / 12796)
  175.  
  176. Man darf bei Prometheus auf gar keinen Fall ohne weiteres Indexfiles laden
  177. oder speichern.
  178.  
  179. Bei 20400 bekommt man die Adresse eines STRING DIM FELDs mit 100 Elementen.
  180. In den Strings steht entweder nichts, oder der Pfad zu einem Indexfile
  181. (komplett!) z.B.
  182.  
  183. "prometheus:bretter/amiga/dfue/░inx" (nicht CASE-SENSITIVE ⁿberprⁿfen!!)
  184.  
  185. Man wei▀ nun, ob der Index schon im Ram ist oder nicht, und welche Nummer
  186. er hat.
  187.  
  188. nun rechnet man: Adresse: 20404 (Beginn der Zusatzfelder) + Nummer*10 
  189. (Nummer fΣngt bei 0 an!)
  190.  
  191. jetzt steht an
  192.  
  193. Adresse+0 WORD wieviele Tasks benutzen diesen Index?
  194.        +2 WORD wieviele EintrΣge hat der Index
  195.        +4 LONG Adresse der Liststruktur
  196.  
  197. Prometheus verwaltet INDEXLISTEN im RAM als Liststruktur (mit Listheader).
  198. Ab nodeadresse+14 ist dann der INDEX wie auf Platte (ohne LΣngenwort am
  199. Anfang). Das ganze Eintrag ist mit 0 abgeschlossen.
  200.  
  201. also char{nodeadr%+14} liefert einen Inhaltseintrag
  202.  
  203. Index komplett einlesen
  204. ~~~~~~~~~~~~~~~~~~~~~~~~
  205.  
  206. Index ist schon im RAM:
  207. Wollen wir jetzt einen Index einlesen, erh÷hen wir zuerst den TaskzΣhler
  208. um 1, damit kein anderer Task den Index im Ram l÷scht.
  209. Dann k÷nnen wir die Eintragsanzahl und die Liststruktur einfach benutzen.
  210.  
  211. Index ist nicht im RAM:
  212. Index in eine LISTSTRUKTUR (HEADER 14 BYTES) lesen. Wie die NODES aufgebaut
  213. sind bitte bei INDEX SCHLIE▀EN lesen. Jeder Nodeeintrag reprΣsentiert einen
  214. Inhaltseintrag!
  215. Der Pfad wird bei einem freien Eintrag im DimFeld eingetragen. Und die
  216. Liststruktur etc wird dann im Adressenfeld (Offset beachten) eingetragen.
  217. 20404 + (Nummer im DIM-FELD)*10. Taskzugriffe ist dann natⁿrlich 1.
  218.  
  219. Bei jedem Nodeeintrag die LΣnge des Nodes im Wort vor der Adresse speichern
  220. (siehe Index schlie▀en)
  221.  
  222. Index schlie▀en
  223. ~~~~~~~~~~~~~~~
  224.  
  225. Wir speichern zuerst den Index auf Platte.
  226. Wir ziehen 1 von den Taskzugriffen ab.
  227. Sollte die Anzahl nun 0 sein, l÷schen wir den Indexstring im DIMFELD und
  228. die 8 Bytes im dazugeh÷rigen Adressenfeld. Danach geben wir die gesamte
  229. Listenstruktur frei (mit Listenkopf)
  230.  
  231. Der Listenkopf hat 14 BYTES. Die LΣnge der Listenelemente steht im Langwort
  232. davor.
  233.  
  234. Wenn wir also eine Nodeadresse haben, geben wir ihn so frei
  235.  
  236. FREEMEM(nodeadr%-4,long{nodeadr%-4}+4)
  237.  
  238. Eintrag anhΣngen
  239. ~~~~~~~~~~~~~~~~
  240.  
  241. Dies ist noch das einfachste. Wir schauen, ob das Indexfile schonmal im RAM
  242. ist,
  243.  
  244. wenn ja: neuen Nodeeintrag anhΣngen (ADDTAIL aus der exec.library)
  245.  
  246. danach einfach im APPEND Modus den INDEXeintrag ans INX File auf der Platte
  247. anhΣngen.
  248.  
  249.  
  250.  
  251.  
  252.  
  253.                             Offsets zum Server
  254.                            ~~~~~~~~~~~~~~~~~~~~
  255.  
  256. FCSERVER Port 'rexx_PXServer'
  257.  
  258. b=Byte
  259. w=Word
  260. l=Long
  261. c()=Char(0-terminiert) ind Klammern steht die max. LΣnge
  262.  
  263. Adresse bekommt man per FindPort() (Offset -390 der exec.library 
  264.                                     als Parameter in a1 den Namen angeben)
  265.  
  266. Offset
  267.  
  268. 150    w    max Teilnehmer -1
  269. 152    w    max Bretter -1
  270. 156    w    max Pm
  271. 158    w    max Text
  272. 160    w    max Netzboxen
  273. 162    w    Brettanzahl
  274. 164    w    Netzboxen
  275. 166    w    Teilnehmeranzahl
  276.  
  277. Anmerkung zu Brettern:
  278.  
  279. Die Bretter sind unsortiert, wenn der Brettname "" ist, ist das Brett nicht
  280. existent, trotzdem kann im nΣchsten Feld wieder ein Brett sein. Die
  281. Sortierung erfolgt ⁿber das Sortierfeld. 
  282. In Feld 0 des Sortierfeldes steht die Nummer des Brettes mit dem im
  283. Alphabet am niedrigsten stehenden Namen. Das geht dann nach unten weiter.
  284.  
  285. Nummern gelten immer ab 0 aufwΣrts
  286.  
  287. Das gleiche gilt auch fⁿr Netzboxen!
  288.  
  289.  
  290. 170    l    DIM-FELD(l) Sortierung der Bretter
  291. 174    l    DIM-FELD(c) Brettname
  292. 178    l    DIM-FELD(l) Letzter Eintrag
  293. 182    l    DIM-FELD(c) Pfad
  294. 186    l    DIM-FELD(c) ganzer Name des Brettes
  295. 190    l    DIM-FELD(c) Verteiler (Boxen durch '|' getrennt)
  296. 194    l    DIM-FELD(c) Gruppen
  297.                             60 Bytes(LGruppe(c20)+SGruppe(c20)+IGruppe(20))
  298.                             ZwischenrΣume mit 1-BYTES (nicht 0!) gefⁿllt
  299. 198    l    DIM-FELD(c) ganzer Name, aber ohne Netzoberbrett
  300.                             (fⁿr maximalen Speed beim Sorter)
  301. 202    l    DIM-FELD(l) Sortierung der Bretter ohne Netzoberbrett
  302. 210    l    DIM-FELD(w) max. Rout
  303. 214    l    DIM-FELD(w) max. Inhalt
  304. 218    l    DIM-FELD(w) Brettkopf (da feste Offsets einfach
  305.                             Brettnummer)
  306. 222    l    DIM-FELD(l) Brettflags
  307.         Bit 1    Marke
  308.                 Bit 2    L.Kommentar
  309.                 Bit 3           
  310.  
  311. weitere Brettfelder ab 15000
  312.  
  313.  
  314.  
  315.  
  316. 226    l    DIM-FELD(c) Teilnehmer (sortiert)
  317.  
  318. 230    l    DIM-FELD(l) Sortierung der Netzboxen
  319. 234    l    DIM-FELD(c) Boxname
  320. 238    l    DIM-FELD(c) PM-Route
  321. 242    l    DIM-FELD(c) Pa▀wort
  322. 246    l    DIM-FELD(c) Telefonnummer (evtl. mehrere durch '|'
  323.                             getrennt)
  324. 250    l    DIM-FELD(c) ModemInit
  325. 258    l    DIM-DELD(w) Packernummer
  326. 262    l    DIM-FELD(b) Protokollnummer
  327. 266    l    DIM-FELD(l) Netzflags
  328. 274    l    DIM-FELD(w) Eilmail PF/KB
  329. 278    l    DIM-FLED(b) Netztyp
  330. 282    l    DIM-FELD(c) Domain
  331.  
  332.  
  333.  
  334.  
  335. 300    l    Servermem
  336. 304    l    Portmem
  337. 308    l    Sortermem
  338. 312    l    Puffermem
  339. 316    l    -frei-
  340. 320    l    Readbuffer
  341. 324    l    Writebuffer
  342. 328    l    Adresse der PROMETHEUS.LIBRARY
  343. 332    l    Adresse der GADTOOLS.LIBRARY
  344. 336    l    Adresse der ASL.LIBRARY
  345. 340    l    Windowadresse des Servers
  346. 344    l    Screenadresse des Servers
  347. 348    l    -nicht ÷ffentlich-
  348. 352    l    -nicht ÷ffentlich-
  349. 356    l    -nicht ÷ffentlich-
  350. 360    w    Fonth÷he (OberflΣche)
  351. 362    w    Fonth÷he (Text)
  352. 364    l    Adresse der DISKFONT.LIBRARY
  353. 368    l    Fontadresse (OberflΣche)
  354.  
  355. 376    l    Screenbreite (Port+Server)
  356. 380    l    Screenh÷he (Port+Server)
  357. 384    l    -nicht ÷ffentlich-
  358. 388    l    Screenid (Port+Server)
  359. 392    w    Serverprioritaet (+100)
  360. 394    w    Sorterprioritaet (+100)
  361. 396    l    Aktionslangwort (siehe spΣtere Beschreibung)
  362. 400    w    Portbits (welche Ports sind offen?)
  363. 402    l    10 Langw÷rter folgen (Adressen der Arexxports der Ports)
  364.  
  365. 620    l    DIM-FELD(c) Name des Befehls
  366. 624    l    DIM-FELD(c) Aufrufzeile des Befehls
  367. 628    l    DIM-FELD(l) Parameter dafⁿr
  368. 636    l    DIM-FELD(c) Kommentar zum Befehl)
  369.  
  370. 640    w    Anzahl der Befehle
  371.  
  372. 644    l    DIM-FELD(b) Shortcut (Befehl)
  373. 648    l    DIM-FELD(c) Gruppe (Befehl)
  374.  
  375.  
  376. 660    l    DIM-FELD(c) Gruppennamen
  377. 664    l    DIM-FELD(l) Zeiger auf LIST-Strukture mit Teilnehmernamen
  378.                 fⁿr die jeweilige Gruppe. User ist ein Space vorangestellt,
  379.         Netzboxen ein '*'
  380. 668    l    DIM-Feld(b) Gruppenflags
  381.  
  382.  
  383. 672    w    Gruppenanzahl
  384. 680    l    Globale Bits (Bit 0 Sysop rufbereit)
  385.                              (Bit 1 Sorter aktiv)
  386.                              (Bit 2 Cruncher aktiv)
  387.                              (Bit 3 Prepack aktiv)
  388.                              (Bit 4 SysopoberflΣche aktiv)
  389.                              (Bit 10 Debugmodus)
  390.                              (Bit 20-29 Netzsperre fⁿr Port gesetzt?)
  391.                   
  392.                              (Bit 31 Schlo▀ aktiv)
  393.  
  394. 1000    c30    Sysopname
  395. 1030    c30    Boxname
  396. 1060    c80    Chatzwangsmessage
  397. 1140    c30    Ripfontpfad
  398. 1170    c30    Showprogramm
  399. 1200    c30    Externer Editor
  400. 1230    c20    OberflΣchenfont
  401. 1250    c20    Textfont
  402. 1330    c30    Uploadpfad
  403. 1360    c30    Downloadpfad
  404. 1390    c30    Asciipfad
  405. 1420    c30    Ripiconpfad
  406. 1450    c10    Quotezeichen
  407. 1460    l    Mindestplatz auf HD
  408. 1464    w    Logoff nach Minuten
  409. 1466    w    max. Kommentarzeilen
  410.  
  411. 1994    l    Onlineflags
  412. 1998    w    Portprioritaet +100
  413.  
  414. 2000    w    Zeit fⁿr eine Telefoneinheit im Nahtarif (Normaltarif)
  415. 2002    w    Zeit fⁿr eine Telefoneinheit im Nahtarif (Billigtarif)
  416. 2004    w    Zeit fⁿr eine Telefoneinheit im Regionaltarif (Normaltarif)
  417. 2006    w    Zeit fⁿr eine Telefoneinheit im Regionaltarif (Billigtarif)
  418. 2008    w    Zeit fⁿr eine Telefoneinheit im Ferntarif (Normaltarif)
  419. 2010    w    Zeit fⁿr eine Telefoneinheit im Ferntarif (Billigtarif)
  420. 2012    w    Kosten (in PF) fⁿr eine Telefoneinheit
  421.  
  422. 3000-4600    Packerfeld (10*) (160 Bytes je Feld)
  423.  
  424.         0    c10    Packername
  425.         10    c40    Packstring
  426.         50    c40    Entpackstring
  427.         90    c40    Inhaltsstring
  428.         130    c10    Packerendung
  429.         140    c20    10 Byte Kennung
  430. 4600-5400    F-Tasten (10 a 80 Bytes)
  431. 5400-5500    -reserviert-
  432.  
  433. 5500    l    PortScreenID
  434. 5504    l    Portbreite
  435. 5508    l    Porthoehe
  436.  
  437.  
  438. 6200-6400    Sprachen (10 a 20 Bytes)
  439. 6400-6448    Boxauslastung (24 Worte, jedes Wort beinhaltet wieviele
  440.         Minuten in der jeweiligen Stunde User drin waren)
  441.  
  442. 6800    c40    Pfad fⁿr neue Netzbretter
  443. 6840    c20    Netzgruppe
  444. 6860    c40    ZMAPSabsender
  445. 6900    c40    -frei-
  446. 6940    w    max Kopienanzahl
  447. 6942    l    Domainserver
  448. 6946    w    Kosten Routpm pf/kb
  449. 6948    w    Kosten Domainpm pf/kb
  450. 6950    l    welche Headzeilen ⁿbernehmen
  451.         Bit 0 Mailer
  452.         Bit 1 OAB
  453.         Bit 2 OEM
  454.         Bit 3 ORG
  455.         Bit 4 POST
  456.         Bit 5 ROT
  457.         Bit 6 Telefon
  458. 7000-7600    10* Formatname(c20)+Kennung(c20)+Directory(c20)
  459. 7600-7900    5*Boxdomains(c60)
  460. 7900    c20    Netzboxname
  461. 7920    c10    Zeitzone
  462. 7930    l    max BrieflΣnge
  463. 7934    w    Wahlversuche
  464. 7936    w    Wahldelay (Sekunden)
  465. 7938    w    MsgId Haltezeit
  466.  
  467. 8010-8018    OS3 Farben (4 W÷rter)
  468. 8018-8034    Ansifarben (8 W÷rter)
  469. 8034-8066    Ripfarben (16 W÷rter)
  470. 8100-13100    Modemfeld (10*) (500 Bytes je Feld)
  471.  
  472.         0    c20    Connect
  473.         20    c20    Endconnect
  474.         40    c20    Faxconnect
  475.         60    c30    Device
  476.         90    c30    Terminalprogramm
  477.         120    c30    Faxprogramm
  478.         150    c10    Modemreset
  479.         160    c10    Auflegen
  480.         170    c10    Ring
  481.         180    c10    Antworten
  482.         190    c10    WΣhlen
  483.         200    c10    Besetzen
  484.         210    c10    Init
  485.         250    l    Baudrate
  486.         254    l    Lamerbaud
  487.         258    b    Esccode
  488.         259    b    Unit
  489.         260    b    Flags (Bit 0 feste DTE / Bit 1 RTS/CTS/ Bit
  490.                                       2 Frontdoorbetrieb)
  491.         300    c100    Faxprogramm
  492.         400    c100    Frontdoorprogramm
  493.  
  494. 14000    l    ZΣhler wieviele Messages bis jetzt geschrieben wurden
  495. 14004    l    Boxanrufe
  496. 14008    l    Netzanrufe
  497. 14012    l    Netzanrufe heute
  498. 14016    l    neue Boxen heute
  499. 14048    l    Uploads
  500. 14052    l    Downloads
  501. 14056    l    Tagesanrufe
  502. 14060    l    neue Bretter heute
  503. 14064    l    neue User heute
  504. 14068    l    Uploads heute
  505. 14072    l    Downloads heute
  506. 14076    l    Box Online (gesamt in Minuten)
  507. 14120    l    Box Online (heute in Minuten)
  508.  
  509. 14896    l    Textfontadr
  510.  
  511. 15000    l    DIM-FELD(w) Max Alter
  512. 15004    l    DIM-FELD(w) Max KB
  513. 15008    l    DIM-FELD(l) letzte Aktualisierung (in Sekunden seit
  514.                 1.1.1978)
  515. 15012    l    DIM-FELD(c) Verwalter
  516. 15016    l    DIM-FELD(c) Pa▀wort
  517. 15020    l    DIM-FELD(c) Kommentar
  518. 15024    l    DIM-FELD(b) Ratio (100=Userratio)
  519.  
  520.  
  521. 15500    l    Adresse des Domainroutingfeldes im Speicher
  522. 15504    w    Anzahl der EintrΣge im Domainroutingfeld
  523.  
  524. Im Domainroutingfeld ist jeder Eintrag 80 BYTES lang:
  525. Gesamtlaenge ist also Anzahl der EintrΣge (15504)*80 Bytes
  526.  
  527. von 0-59 steht die Domain, oder die Box mit Domain oder * (Smarthost)
  528. (Rest mit 0 Bytes aufgefⁿllt!)
  529. von 60-79 steht die Routbox (ohne Domain) dafⁿr (auch mit 0 Bytes
  530. aufgefⁿllt)
  531.  
  532.  
  533. 15506    l    Basis der 'METAXPR.LIBRARY'
  534. 15510    l    Adresse des Zeitplanfeldes
  535. 15514    w    Anzahl der EintrΣge im Zeitplanfeld
  536.  
  537. 15516    l    Soviel Freiraum bekommt ein Gast nach dem Antrag
  538. 15520    w    Rate fⁿr neue User
  539. 15522    l    Zeit fⁿr neue User
  540. 15526    l    Zeiger auf LIST-Struktur mit Gruppennamen, die ein
  541.                 User nach dem Antrag bekommt
  542.  
  543. 15530    l    ScreenID fⁿr RIP
  544. 15534    l    ScreenBreite fⁿr RIP
  545. 15538    l    ScreenH÷he fⁿr RIP
  546.  
  547. 18000-20340    Protokollfeld (10*) (234 Bytes je Feld)
  548.         
  549.         0    c30    Protokollname
  550.         30    c100    Sendestring
  551.         130    c100    Receivestring
  552.         230    l    Flags
  553.  
  554. 20340   c60     Skipfilename
  555. 20400    l    Zeiger auf DIM-Feld fⁿr die Multiport-Inhaltsverwaltung
  556. 20404-21404 die Buffer dafⁿr
  557. 22000-27000     2. Modemfeld (wieder 10 Ports)
  558.